草庐IT

redis 常用命令

全部标签

Redis小知识

1.Redis可以用于以下场景:缓存:Redis接受并处理缓存数据请求,将数据存储在内存中,从而提高数据获取速度。分布式锁:Redis提供了分布式锁的能力,可以很容易地解决线程安全问题。消息队列:Redis提供了消息队列功能,可用于异步处理等场景。计数器:Redis可以使用自增、自减操作作为计数器,可以快速实现计数器功能。在线应用:Redis的性能出色,可以存储热数据,常用于在线应用中。2.缓存穿透、缓存击穿和缓存雪崩。缓存穿透:指查询一个一定不存在的数据,由于缓存中没有相关的数据,因此每次请求都会访问数据库,造成数据库压力过大。解决方式为在查询请求时添加布隆过滤器,过滤掉不存在的数据。缓存击

如何使用 Redis 快速实现分布式锁?

本文我们来讨论如何使用Redis快速实现分布式锁。分布式锁有很多种解决方案,前面简单介绍过,Redis可以通过setkey方式来实现分布式锁,但实际情况要更加复杂,比如如何确保临界资源的串行执行,如何及时释放,都是需要额外考虑的。本文要讲的是一个完备的分布式锁应该具备哪些特性,以及如何使用Redis来一步步优化实现。分布式锁需要具有哪些特点先来看一下,一个完备的分布式锁,需要支持哪些特性?一般来说,生产环境可用的分布式锁需要满足以下几点:互斥性,互斥是锁的基本特征,同一时刻只能有一个线程持有锁,执行临界操作;超时释放,超时释放是锁的另一个必备特性,可以对比MySQLInnoDB引擎中的inno

Redis-分片集群大纲

1.Redis集群方案比较哨兵分片2.Redis分片集群搭建3.Java操作redis分片集群jedislettuce4.Redis集群原理分析槽位定位算法HASH_SLOT=CRC16(key)mod16384跳转重定位Redis集群节点间的通信机制gossip&&gossip通信的10000端口Redis集群选举原理分析延迟计算公式:DELAY=500ms+random(0~500ms)+SLAVE_RANK*1000ms•SLAVE_RANK表示此slave已经从master复制数据的总量的rank。Rank越小代表已复制的数据越新。这种方式下,持有最新数据的slave将会首先发起选举(

SpringBoot+redis RedisTemplate/jedis 配置多个数据源 灵活切库 选择库

目录1.这里也介绍两种方式 一种是redis的 RedisTemplate另一种是jedis大家需要哪一种自己选择2.这里先说redis的 RedisTemplate1.加入依赖并在在yml文件里面加入配置2.添加配置文件 3.在jidis里面配置多库切换1.加入依赖1.这里也介绍两种方式 一种是redis的 RedisTemplate另一种是jedis大家需要哪一种自己选择2.这里先说redis的 RedisTemplate1.加入依赖并在在yml文件里面加入配置org.springframework.bootspring-boot-starter-data-redisspring:redi

Redis如何为 List/Set/Hash 的元素设置单独的过期时间

大家好,我是小❤,一个漂泊江湖多年的985非科班程序员,曾混迹于国企、互联网大厂和创业公司的后台开发攻城狮。1.引言1.1消费队列这天,小❤在购买火车票时,发现如果存在一个未支付的订单时,就不能再进行购票了。如果把待支付的订单放在一个队列里面,那么队列的长度就只能是1.正好最近用Redis比较多,于是,我突发奇想,如何用Redis原生的数据结构实现一个简易版的延时消费队列呢?业务状态图如下:图片并且,需要保证队列的长度是可控的,比如,我们只允许用户有3个未支付的订单。1.2Redis实现Redis,作为一款高性能的缓存和数据存储数据库,一直以来都是后台开发者的得力助手。如果用Redis作为消费

【SpringBoot篇】详解基于Redis实现短信登录的操作

文章目录🥰前言🛸StringRedisTemplate🌹使用StringRedisTemplate⭐常用的方法🛸为什么我们要使用Redis代替Session进行登录操作🎆具体使用✨编写拦截器✨配置拦截器🌺基于Redis实现发送手机验证码操作🎈总体思路🎈具体步骤🎍基于Redis实现短信登录并注册的操作🎈总体思路🎈具体步骤🥰前言使用Redis进行登录适用于以下情况:分布式系统:当系统需要支持多个节点的分布式部署时,使用Redis存储登录信息能够更好地支持多节点间的共享和同步,确保用户的登录状态能够在整个系统中得到有效的传递和管理。高并发访问:面对大规模的并发访问,使用Redis可以提供更好的性能表

MongoDB 索引和常用命令

一、基本常用命令1.1案例需求        存放文章评论的数据存放到MongoDB中,数据结构参考如下,其中数据库为articledb,专栏文章评论comment字段名称字段含义字段类型备注_idIDObjectId或StringMongo的主键的字段articleid文章IDStringcontent评论内容Stringuserid评论人IDStringnickname评论人昵称Stringcreatedatetime评论的日期时间Datelikenum点赞数Int32replynum回复数Int32state状态String0:不可见;1:可见;parentid上级IDString如果为

kafka常用命令大全

kafka常用命令,自己记录自己用的,如果安装有kafkamanager或者kafkaeagle可以不用熟悉一下命令:–提示--zookeeper的命令可能需要在后面加入/kafka因为一般企业都会建节点的时候建个父目录kafka常用命令相关概念Brokerkafka节点,多个broker组成kafka集群。Topic即主题,kafka通过Topic对消息进行分类,发布到kafka的消息都需要指定Topic。Producer即消息生产者,向Broker发送消息的客户端。Consumer即消息消费者,从Broker消费消息的客户端。ConsumerGroup即消费者组,消费者隶属于消费者组,同一

adb 常用命令使用总结

目录ADB引言1、查看adb版本信息2、查看是否连接到设备3、安装第三方apk应用4、查看所有已安装应用包名5、查看安装的第三方应用包名6、关键字模糊查询包名7、查看当前打开的应用包名8、打开系统设置界面9、关闭当前设备打开的应用10、查看当前设备GPS定位是否开启11、开启和关闭系统WiFi12、查看设备电池电量信息13、查看设备系统的Android版本14、打印输出日志文件15、打开特殊模式16、查看设备屏幕分辨率17、截屏并保存到本机指定文件夹内18、录制屏幕并保存到本机指定文件夹内ADB引言ADB全称为【AndroidDebugBridge】,就是起到调试桥的作用,它是Android开

你了解Redis 的二进制安全吗

最近面试的时候被问到Redis的二进制安全相关八股文面试题。Redis二进制安全内容比较多,以下是简单的总结大致的过程,需要深入学习的建议跳过Redis是基于C语言进行开发的,而C语言中的字符串是二进制不安全的,所以Redis就没有直接使用C语言的字符串,而是自己编写了一个新的数据结构来表示字符串,这种数据结构称之为简单动态字符串(Simpledynamicstring),简称sds。在C语言中,字符串采用的是一个char数组(柔性数组)来存储字符串,而且字符串必须要以一个空字符串\0来结尾。字符串并不记录长度,所以如果想要获取一个字符串的长度就必须遍历整个字符串,直到遇到第一个\0为止(\0